<template>
  <div class="todo-header">
    <input type="text" placeholder="请输入你的任务名称，按回车键确认" v-model="name" @keyup.enter="addToDo"/>
  </div>
</template>

<script>
  import {mapState} from "vuex";

  export default {
    name: "todo-header",
    data() {
      return {
        name: '' //组件内部使用的状态，不存在共享的问题--->不需要使用vuex管理它
      }
    },
    computed: {
      ...mapState(['todos'])
    },
    methods: {
      addToDo: function () {
        var name = this.name.trim();
        if (name !== '') {
          var todo = {
            name: name,
            complete: false
          };

          //触发action: todo传递到actions
          this.$store.dispatch('addToDo', todo);

          //清空数据
          this.name = ''

        } else {
          alert('输入的内容不能为空!')
        }
      }
    }
  }
</script>

<style scoped>
  .todo-header input {
    width: 560px;
    height: 28px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 4px 7px;
  }

  .todo-header input:focus {
    outline: none;
    border-color: rgba(82, 168, 236, 0.8);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
  }
</style>
